package edu.nctu.csie.jichang.dp.structural;

public class Facade {
	public static void main(String[] args) {
		FacadeInterface tIntefeace = new FacadeInterface();
		tIntefeace.doSystemABC();
		tIntefeace.doSystemB();
	}
}
class FacadeInterface{
	void doSystemABC(){
		new FacadeSystemA().doExecute();
		new FacadeSystemB().doExecute();
		new FacadeSystemC().doExecute();
	}
	void doSystemAC(){
		new FacadeSystemA().doExecute();
		new FacadeSystemC().doExecute();
	}
	void doSystemB(){
		new FacadeSystemB().doExecute();
	}
}
class FacadeSystemA{ 
	void doExecute(){System.out.println("System A");}
}
class FacadeSystemB{ 
	void doExecute(){System.out.println("System B");}
}
class FacadeSystemC{ 
	void doExecute(){System.out.println("System C");}
}